﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace PongXNA
{
    class Ball
    {
        public Ball(Texture2D texture2d)
        {
            SpriteBall = texture2d;
        
        }
        public void BallInit(Rectangle hitbox,Vector2 vectorvitesse,int taille,int vitesse)
        {
            HitBox = hitbox;
            Vitesse = vitesse;
            HitBox = new Rectangle(HitBox.X - SpriteBall.Width*(taille - 1), HitBox.Y - SpriteBall.Height*(taille - 1), HitBox.Width * taille, HitBox.Height * taille);
            VecteurVitesse = new Vector2(vectorvitesse.X, vectorvitesse.Y);

        }
        private Rectangle _hitbox; // we need to have a hitbox for testing if an object touch them
        public Rectangle HitBox
        {
            get { return _hitbox; }
            set { _hitbox = value; }
        }
                
        private Vector2 _vecteurvitesse;
        public Vector2 VecteurVitesse
        {
            get { return _vecteurvitesse; }
            set { _vecteurvitesse = value; }
        }

        private Texture2D _spriteball;
        public Texture2D SpriteBall
        {
            get { return _spriteball; }
            set { _spriteball = value; }
        }

        private int _vitesse;
        public int Vitesse
        {
            get { return _vitesse; }
            set { _vitesse = value; }
        }
        
        public void BougerBall()
        {
            HitBox = new Rectangle((int)(HitBox.X + VecteurVitesse.X * Vitesse),(int)(HitBox.Y + VecteurVitesse.Y * Vitesse),HitBox.Width,HitBox.Height);
        }
        
    }
}
